33问答网
所有问题
当前搜索:
设有定义语句 int a
7. 若已
定义
:
int
a
[9], *p=a;并在以后的
语句
中未改变p的值,不能表示a...
答:
选C。
A
、p+1 //p指向
a
[0],p+1显然就是a[1]的地址。B、a+1 //a指向a[0],a+1显然就是a[1]的地址。C、a++ //这个先取a的值,再使a自加1,而a的值是a[0]的地址,因此本题答案就是这个。D、++p //这个表示先使p自加,再取值。p指向a[0],自加后指向a[1],因此++p...
c
语言
中,若
有语句int
a
=1,b;double y=2.3;b=(int)y;则b的值为
A
3...
答:
b=(
int
)y; //对double变量取整,然后赋给int型变量b,所以b的值为y的整数部分,是2
设有
数组a的
定义
为
int
a[]={1,2,3,4};若
语句a
[3]=--a[0]?a[1]++:a...
答:
--
a
[0] =0,条件为假(此时a[0] =0)所以执行 a[3]=a[2]++;这个
语句
其实可以拆分为 a[3]=a[2](a[3]=3)a[2]++ (a[2]4)所以最后结果是 0,2,4,3
C
语言
中,
定义
一个
int
a
[3][4],如果定义一个指针指向这个数组呢_百度知 ...
答:
int
a
[3][4]的类型是int [3][4],你要
定义
一个指针指向它,那么首先它得是个指针,int*p,然后指向这个数组,不能写int*p[4]这样写的话p就是个指针数组了,因为p是变量,而[]的优先级要高于*,所以只能写作int(*p)[4];
设变量
定义
为“
int
a
[2]={1,3}, *p=&a[0]+1;”,则*p的值是___。具体...
答:
p的值是3。第一条输出
语句
:printf("%s*p=&a[0]+1 相当于 int *p; p=a+1; 所以答案*p=a[1]=3。&a[0] 就是a数组的首地址 即相当于a 。 a+1就相当于指针下移一个单位。
inta
[2]={1,3}即a[0]=1,a[1]=3。p=&a[0]+1 这是一个指针变量,*p=&a[0]+1就是a[0]的...
...和
语句
,则对
a
数组元素的正确引用为( )。
int
a[2][3],(*p)[3...
答:
选 C。p 的类型是
int
(*)[3],是指针的指针。C选项相当于 p[1][1]。B选项错,它相当于 p[2][1],数组的第一个坐标越界了。
32.若
有定义
:
int
a
=20,b=28,C;则执行
语句
C=(a&b)>>2;后C的值为(
A
) A...
答:
你要把
a
和b写成二进制的 <<的意思是右移位数 2是右移2位 a=10100;b=11100;所以a&b=10100;>>2后为00101 转换十进制后为5 所以答案是
A
够清楚吗? 不明白就m我
c
语言
,假
设有语句int
a
[10]={1,2,3},*p;p=a;则p++完全等价于a++。这...
答:
如题所讲,
a
代表的是数组的首地址,它的值是不可以更改的,a只能表示数组首地址。所以a++本身就是不允许的。p是一个指针,可以把数组首地址赋值给指针,指针的值是可以改变的,所以p++是没问题的。
设有int
a
=04,b;变量
定义
,则表达式b=a<<2的值是
A
.1 B.4 C.8 D.16
答:
左移一位相当于乘2,左移2位就乘4,所以结果为D
若
有定义
:float w;
int
a
,b;,则合法的switch
语句
是
答:
选C;因为switch
语句
中的条件只能是
int
,char和枚举类型中的一种。
棣栭〉
<涓婁竴椤
6
7
8
9
11
12
13
14
10
15
涓嬩竴椤
灏鹃〉
其他人还搜